package DoExercise.HSP_ZCY.A008_树.A001_普通二叉树;

import java.util.LinkedList;
import java.util.Queue;

/**
 * @Author: Du
 * @Date: 2021/7/13 12:19
 */
public class C07_层序遍历二叉树
{
    
    public static class Node
    {
        public int value;
        public Node left;
        public Node right;
        
        public Node(int v)
        {
            value = v;
        }
    }
    
    public static void level(Node head)
    {
        if (head == null)
        {
            return;
        }
        Queue<Node> queue = new LinkedList<>();
        queue.add(head);
        while (!queue.isEmpty())
        {
            Node cur = queue.poll();
            System.out.println(cur.value);
            if (cur.left != null)
            {
                queue.add(cur.left);
            }
            if (cur.right != null)
            {
                queue.add(cur.right);
            }
        }
    }
    
    public static void main(String[] args)
    {
        Node head = new Node(1);
        head.left = new Node(2);
        head.right = new Node(3);
        head.left.left = new Node(4);
        head.left.right = new Node(5);
        head.right.left = new Node(6);
        head.right.right = new Node(7);
        
        level(head);
        System.out.println("========");
    }
}
